import java.util.Arrays;
import java.util.Scanner;

public class ACM {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int exp=sc.nextInt();
        int n=sc.nextInt();
        int data[]=new int[n];
        for (int i=0;i<n;i++){
            data[i]=sc.nextInt();
        }
        Arrays.sort(data);
        int i=0;
        for (i=0;i<n-1;i++){
            if(data[i]<=exp/2&&data[i+1]>exp/2)break;
            if(data[i]>exp/2) break;
        }
        int min=Math.abs(exp-data[i]*2);
        if(i<n-1){
            int cur=Math.abs(exp-data[i+1]*2);
            if(min<cur);
            else {
                min=cur;
            }
        }
        if(min==0) System.out.println(0);
        else {
            int j=i+1;
            while (i>=0&&j<n){
                int temp=data[i]+data[j];
                if(temp>exp){
                    i--;
                }else if(temp<exp){
                    j++;
                }else {
                    System.out.println(0);return;
                }
                int cur=Math.abs(temp-exp);
                min=min<cur?min:cur;
            }
            System.out.println(min);
        }
    }
}
//    public static void main(String[] args) {
//        Scanner scanner=new Scanner(System.in);
//        while (scanner.hasNext()){
//            int r=scanner.nextInt();
//            int R=scanner.nextInt();
//            int L=scanner.nextInt();
//            if(R>r){
//                int temp=R;
//                R=r;
//                r=temp;
//            }
//            if(L>=R||L<=r){
//                double powr=Math.pow(r,2);
//                double powR=Math.pow(R,2);
//
//                double temp=(Math.pow(L,2)+powR-powr)/(2*L);
//                temp=Math.pow(temp,2);
//                double powH=powR-temp;
//                double h1=r-Math.sqrt(powr-powH);
//                double h2=R-Math.sqrt(powR-powH);
//
//                double S=4*Math.PI*(powR+powr)-2*Math.PI*(r*h1+R*h2);
//                System.out.println(S);
//
//            }
//            else if(L<R&&L>r){
//                double powr=Math.pow(r,2);
//                double powR=Math.pow(R,2);
//                double temp=(-Math.pow(L,2)-powr+powR)/(2*L);
//                temp=Math.pow(temp,2);
//                double powH=powr-temp;
//                double h1=r-Math.sqrt(powr-powH);
//                double h2=R-Math.sqrt(powR-powH);
//                double S=4*Math.PI*R*R-2*Math.PI*R*h2+2*Math.PI*r*h1;
//                System.out.println(S);
//            }
//
//        }
//    }
//
//

